// pages/qrcode/index.js
var wxbarcode = require('../../utils/index.js');
const {
  $Toast
} = require('../../components/dist/base/index');
import config from '../../etc/config'
// Page({
//   data: {
//     code: '请付款'   //不用理会 只是小程序的数据展示
//   },

// })
Page({

  /**
   * 页面的初始数据
   */
  data: {
    code: '向商家付款',   //不用理会 只是小程序的数据展示
    orderId: '',
    buyerRemake: '',
    url: '',
    couponAmount: 0,
    payAmount: 0,
    totalAmount: 0,
    timer: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.hideShareMenu()
    this.setData({
      orderId: options.orderId,
      buyerRemake: options.buyerRemake,
    })
    // 以下是重点，使用封装好的方法展示条形码和二维码

    this.payMoney()
  },
  payMoney() {
    let that = this;
    let params = {
      subject: this.data.buyerRemake,
      orderId: this.data.orderId,
    }
    let token = wx.getStorageSync('token')
    config._post('/pay/nativePay', token, params).then(res => {
      if (res.code == 0) {
        that.setData({
          couponAmount: res.data.couponAmount,
          payAmount: res.data.payAmount,
          totalAmount: res.data.totalAmount,
        })
        let payUrl = res.data.payUrl
        wxbarcode.barcode('barcode', payUrl, 680, 200);
        wxbarcode.qrcode('qrcode', payUrl, 420, 420);
        that.data.timer = setInterval(function () {
          //循环检查该订单是否完成
          that.checkOrderIsPay()
        }, 3000) //循环时间 这里是1秒
      } else {
        $Toast({
          content: '生成二维码失败'
        });
      }

    })
  },
  checkOrderIsPay() {
    let token = wx.getStorageSync('token')
    let params = {
      orderId: this.data.orderId
    }
    wx.request({
      url: config.basePath + '/pay/checkOrderIsPay',
      data: params,
      header: {
        'content-type': 'application/x-www-form-urlencoded', // 默认值 ,另一种是 "content-type": "application/x-www-form-urlencoded"
        'access_token': token
      },
      method: 'POST',
      success: (res) => {
        if (res.data.code == 0) {
          wx.navigateBack()
        }
      },
      fail(res) {
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    var that =this;
    //清除计时器  即清除setInter
    clearInterval(that.data.timer)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})